package com.cskaoyan.introduction;

/*

        什么是异常？简单来说异常就是用来表示Java程序运行过程中的错误(信息)

       Java异常机制的由来：
      1. C语言时代的错误处理(不好，程序员的自觉性)

      2. Java的基本理念：
             尽量把一切错误，摒弃在jvm之外，最好在程序之前发现程序错误(编译器)，
             但是，很遗憾，有一部分错误，是编译器可以在程序运行前帮我们发现的，但是
             还有一些错误，是java程序不运行，编译器发现不了

      3. 错误恢复机制(java异常处理机制)
           java语言，退而求其次，可以让java程序运行的时候出错，
          但是同时，java语言本身提供了一种通用的错误处理机制 ——> 异常处理机制

          异常处理机制：异常的发现，和异常的处理(一致性的错误报告模型)

          简单来说，就是一旦发生错误，就把该错误信息，层层向上报告，
         如果上层知道怎么处理这个错误，上层可以捕获该错误信息，并处理，如果上层不知道该怎么处理，
         于是可以将错误继续向上报告

 */
public class Demo1Introduction {

    public static void main(String[] args) {
        TestClass testClass = new TestClass();

        // 就将错误向上报告
        int result = testClass.method(10);
    }

}

class TestClass {

    /*
         该方法如果正常运行，应该返回一个正整数，
         同时程序员之间，做一个口头约定: 如果该方法返回-1
     */
    public int method(int a) {

        /*
              if () {
                // 参数非法
                return -1;
              }
         */

        // 在异常处理机制中，比如代码执行到这里出了错，如果在出错的地方
        // 我们知道怎么处理，我直接处理；否则我们不知道如何处理，将改错误向上报告

        return 1;
    }
}
